
package accesoarchivos;

import constantes.Constantes;
import entidades.Cliente;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.StringTokenizer;


public class ClienteArchivo {

    public void EscribirArchivoCliente(ArrayList<Cliente> arrayList) {

        FileWriter fichero = null;
        PrintWriter pw = null;
        try {
            fichero = new FileWriter(Constantes.archivoClientes);
            pw = new PrintWriter(fichero);

            for (Cliente cliente : arrayList) {
                String linea = cliente.getCodigo() + Constantes.stringToken +
                        cliente.getNombre() + Constantes.stringToken +
                        cliente.getApellidoPaterno() + Constantes.stringToken +
                        cliente.getApellidoMaterno() + Constantes.stringToken +
                        cliente.getDni() + Constantes.stringToken +
                        cliente.getTelefono() + Constantes.stringToken +
                        cliente.getDireccion() + Constantes.stringToken +
                        cliente.getEmail() + Constantes.stringToken +
                        cliente.getFechaNacimiento() + Constantes.stringToken +
                        cliente.getNumTarjetaBonus() + Constantes.stringToken +
                        cliente.getPuntos();
                pw.println(linea);
            }

        } catch (Exception e) {
            e.printStackTrace();
        } finally {

            if (null != fichero) {
                try {
                    fichero.close();
                } catch (IOException ex) {
                }
            }
            try {
            } catch (Exception e2) {
            }
        }

    }

    public ArrayList<Cliente> LeerArchivoCliente() {

        Cliente cliente = null;
        ArrayList<Cliente> arrayListCliente = null;
        try {

            arrayListCliente = new ArrayList<Cliente>();
            FileReader fr = new FileReader(Constantes.archivoClientes);
            BufferedReader br = new BufferedReader(fr);
            String linea = "";
            while ((linea = br.readLine()) != null) {
                cliente = new Cliente();    
                StringTokenizer st;
                st = new StringTokenizer(linea, Constantes.stringToken);
                cliente.setCodigo(st.nextToken().trim());
                cliente.setNombre(st.nextToken().trim());
                cliente.setApellidoPaterno(st.nextToken().trim());
                cliente.setApellidoMaterno(st.nextToken().trim());
                cliente.setDni(st.nextToken().trim());  
                cliente.setTelefono(st.nextToken().trim());
                cliente.setDireccion(st.nextToken().trim());
                cliente.setEmail(st.nextToken().trim());
                cliente.setFechaNacimiento(st.nextToken().trim());
                cliente.setNumTarjetaBonus(Integer.valueOf(st.nextToken()));
                cliente.setPuntos(Integer.valueOf(st.nextToken()));
                arrayListCliente.add(cliente);
             
            }

            br.close();
        } catch (Exception ex) {
        }

        return arrayListCliente;
    }
}
